Bound tab recency sync pressure#332
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5d32b8853f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| store.dispatch({ | ||
| ...prunePaneTabActivityToLiveTerminalPanes({ | ||
| paneIds: collectLiveTerminalPaneIds(store.getState()), | ||
| }), | ||
| meta: { source: 'cross-tab' }, | ||
| }) |
There was a problem hiding this comment.
Skip persisting cross-tab recency prune echoes
When a TAB_RECENCY_STORAGE_KEY event arrives, we merge the remote payload and then dispatch prunePaneTabActivityToLiveTerminalPanes without meta.skipPersist. In multi-tab use where each tab has different live pane IDs, this causes each tab to immediately rewrite the sidecar to its own pane set, broadcasting a new storage value that the other tab then rewrites back, creating an ongoing ping-pong of localStorage writes/broadcasts and unnecessary sync traffic.
Useful? React with 👍 / 👎.
5d32b88 to
0e117be
Compare
Summary
lastInputAtcompatibility and noupdatedAtactivity fallback.Verification
FRESHELL_TEST_SUMMARY="tab recency minute resolution dev landing" npm run checkpassed on the dev-based landing candidate/home/user/code/freshell/.worktrees/tab-recency-minute-resolution-devat6adca421.tabs.sync.pushmessages.Dev Landing
devas6adca421 feat: bound tab recency sync pressureand pushed toorigin/dev.